//
//  EBMessage.h
//  ENTBoostKit
//
//  Created by zhong zf on 14-7-23.
//
//

@class EBChat;

///富文本信息类
@interface EBMessage : NSObject

@property(nonatomic) uint64_t msgId; //信息编号
@property(nonatomic) uint64_t callId; //会话编号
@property(nonatomic) uint64_t fromUid; //消息发起人的用户编号
@property(strong, nonatomic) NSDate* msgTime; //消息发送时间

/**初始化方法
 * @param fromUid 消息发起人用户编号
 * @param callId 会话编号
 * @return 本实例对象
 */
- (id)initWithFromUid:(uint64_t)fromUid callId:(uint64_t)callId;

/**初始化方法
 * @param chatDot 一个聊天内容
 * @param fromUid 消息发起人用户编号
 * @param callId 会话编号
 * @return 本实例对象
 */
- (id)initWithChatDot:(EBChat*)chatDot andFromUid:(uint64_t)fromUid callId:(uint64_t)callId;

/**初始化方法
 * @param chatDots 一组聊天内容
 * @param fromUid 消息发起人用户编号
 * @param callId 会话编号
 * @return 本实例对象
 */
- (id)initWithChatDots:(NSArray*)chatDots andFromUid:(uint64_t)fromUid callId:(uint64_t)callId;

/**加入一个或多个聊天内容
 * @param chatDot 一个或多个聊天内容
 * @return 本实例对象
 */
- (id)addChatDot:(EBChat*)chatDot;

/**加入一组聊天内容
 * @param chatDots 一组聊天内容
 */
- (void)addChatDots:(NSArray *)chatDots;

/**获取富文本子元素数组
 * @return 一个或多个聊天内容，类型包括EBChatText、EBChatResource、EBChatImage、EBChatAudio
 */
- (NSArray*)chats;

//消息内容的大小(字节)
- (uint64_t)byteSize;

@end
